package com.zhai.domain.activity.service.quota;

import com.zhai.domain.activity.model.entity.ActivityCountEntity;
import com.zhai.domain.activity.model.entity.ActivityEntity;
import com.zhai.domain.activity.model.entity.ActivitySkuEntity;
import com.zhai.domain.activity.repository.IActivityRepository;
import com.zhai.domain.activity.service.quota.rule.factory.DefaultActivityChainFactory;

/**
 * @Description: 抽奖活动基础设施类
 * @ClassName: RaffleActivitySupport
 * @Author: zhaiyongxin
 * @Date: 2025/2/20 13:41
 * @Version: 1.0
 */
public class RaffleActivityAccountQuotaSupport {
    protected IActivityRepository repository;
    protected DefaultActivityChainFactory defaultActivityChainFactory;

    public RaffleActivityAccountQuotaSupport(IActivityRepository repository, DefaultActivityChainFactory defaultActivityChainFactory) {
        this.repository = repository;
        this.defaultActivityChainFactory = defaultActivityChainFactory;
    }

    public ActivitySkuEntity queryActivitySku(Long sku) {
        return repository.queryActivitySku(sku);
    }

    public ActivityEntity queryRaffleActivityByActivityId(Long activityId) {
        return repository.queryRaffleActivityByActivityId(activityId);
    }

    public ActivityCountEntity queryRaffleActivityCountByActivityCountId(Long activityCountId) {
        return repository.queryRaffleActivityCountByActivityCountId(activityCountId);
    }
}
